namespace OasisCiq.Xal
{
    using System.Collections.Generic;
    using System.Collections.Specialized;
    using CommonTypes;
    using External;
    using XS;

    /// <summary>
    /// A container for a single free text or structured postcode.
    /// Note that not all countries have post codes
    /// </summary>
    public class PostCode : IDataQualityGroup, IExtendedAttributes
    {
        /// <summary>
        /// The postcode is formatted according to country-specific rules.
        /// Example: SW3 0A8-1A, 600074, 2067.
        /// This element can also be used to define the semantics of
        /// what each code in the post code means
        /// at least one element required
        /// </summary>
        public ICollection<IdentifierType> Identifiers { get; set; }

        public DataQualityTypeList DataQualityType { get; set; }

        public XSDateTime ValidFrom { get; set; }

        public XSDateTime ValidTo { get; set; }

        public NameValueCollection ExtendedAttributes { get; set; }
    }
}